/*
  将下面异步代码使用 Promise 的方法改进
  尽量用看上去像同步代码的方式
  setTimeout(function () {
    var a = 'hello'
    setTimeout(function () {
      var b = 'lagou'
      setTimeout(function () {
        var c = 'I ♥ U'
        console.log(a + b +c)
      }, 10)
    }, 10)
  }, 10)
*/

// 1、============================================================
// let promise = new Promise((resolve, reject) => {
//   let a = "hello";
//   resolve(a);
// });
// promise
//   .then((res) => {
//     let b = "lagou";
//     return res + b;
//   })
//   .then((res) => {
//     let c = "I ♥ U";
//     console.log(res + c);
//   });

// 2、============================================================
// Promise.resolve("hello")
//   .then((res) => {
//     return res + "lagou";
//   })
//   .then((res) => {
//     console.log(res + "I ♥ U");
//   });

// 3、============================================================
let promise = Promise.all(["hello", "lagou", "I ♥ U"]);
promise.then(res => {
  console.log(res.join(''));
});


// ============================================================
// ============================================================
// 测试手写 Promise方法
// 
// const MyPromise = require("./MyPromise");
// let promise = MyPromise.all(["hello", "lagou", "I ♥ U"]);
// promise.then(res => {
//   console.log(res.join(''));
//   console.log(res);
// });
// ============================================================
